حل المشكلات (Problem Solving) هو مهارة أساسية في البرمجة والحياة اليومية. في هذه الدورة، سنتعرف على كيفية تحليل المشكلات وتطوير حلول فعالة باستخدام تقنيات مختلفة.
                            المشكلة: حساب مجموع الأعداد من 1 إلى 100.
                            المدخلات: لا يوجد.
                            المخرجات: مجموع الأعداد من 1 إلى 100.
                        
                    
                            الخوارزمية:
                            1. تهيئة متغير sum بقيمة 0.
                            2. تكرار من 1 إلى 100:
                               - إضافة العدد الحالي إلى sum.
                            3. طباعة sum.
                        
                    
                            sum = 0
                            for i in range(1, 101):
                                sum += i
                            print(sum)  # Output: 5050
                        
                    
                            # الحل الأول: O(n)
                            sum = 0
                            for i in range(1, 101):
                                sum += i
                            # الحل الثاني: O(1)
                            sum = (100 * 101) // 2
                        
                    
                            # مثال على التقسيم والتغلب: دمج المصفوفات
                            def merge_sort(arr):
                                if len(arr) <= 1:
                                    return arr
                                mid = len(arr) // 2
                                left = merge_sort(arr[:mid])
                                right = merge_sort(arr[mid:])
                                return merge(left, right)